export default function createElement(type, props, ...children){
    //不修改原数组,新建一个数组
    const childElement = [].concat(...children).reduce((result,child) =>{
        // 判断child不能是布尔值和null
        if(child !== true && child !== false && child !== null){
            // 如果子节点是对象类型,则返回
            if(child instanceof Object) {
                result.push(child)
            }else {
                //否则是文本节点
                result.push(createElement('text', { textContent: child}))
            }
        }
        return result
    },[])

    return {
        type,
        // 给props添加children属性
        props: Object.assign({children: childElement},props),
    }
}